1. Field of the Invention
Embodiments of the present invention relate to techniques for modeling workloads on computer systems. More specifically, embodiments of the present invention relate to a technique for using computational phases to model a workload on a computer system.
2. Related Art
Computer system designers commonly perform a considerable number of simulations to ensure that their new designs are capable of meeting the workload demands that will be placed on them. These simulations are often configured to model the performance of real workloads on the computer systems.
Hence, it is desirable to be able to both accurately and efficiently characterize real workloads in order to optimize computer system designs.
In the case of homogeneous workloads, this characterization can be accomplished using statistical averages of key system parameters, such as various cache miss rates or CPI (cycles-per-instruction) averages. For example, a homogeneous workload can arise from processing a steady stream of transactions on an online transaction processing (OLTP) system.
On the other hand, many workloads, in particular workloads arising from high-performance and technical computing applications, are not homogeneous and instead go through different computational “phases.” For example, in domain decomposition problems, computational phases can include computations within a domain followed by a communication phase, wherein the results of the computations are exchanged between the computational elements.
At a coarser level, the computational phases can correspond to pre- and post-processing operations and the iterations in the main computational stage. Because of the dissimilarity of different computational phases, non-homogenous workloads can be difficult to characterize, which means that simulations of such non-homogeneous workloads are likely to be imprecise.
Hence, what is needed is a method and apparatus for characterizing workloads without the above-described problems.